Downloading packages

If mirror 10 (“UFRJ”) is offline, try changing ind = 10 to ind = 1. Do the same thing if you get an error installing the BETS package.

chooseCRANmirror(graphics = FALSE, ind = 10)
if (!require("pacman")) install.packages("pacman")
pacman::p_load(devtools, ggplot2, forecast, BETS, seasonal, seasonalview, bvarsv, lubridate, zoo, stargazer, gridExtra, reshape2, ggfortify, RColorBrewer, scales, quantmod, PerformanceAnalytics, strucchange, coda, foreach, doParallel, knitr, grid, ggpubr, gdata, vars, urca, compiler, DescTools, kableExtra, knitr, readxl) 

These are some auxiliary functions used later in the code (I took them from bvarsv documentation):

## Some graphical parameters 
matplot2 <- function(...){
  matplot(..., type = 'l', lty = 1, lwd = 2, bty = "n", ylab = "")
}

# Stat.helper calculates que quantiles and organizes them in quantile 1, mean, quantile 3 given a vector z
stat.helper <- function(z) c(mean(z), quantile(z, c(0.16, 0.84)))[c(2,1,3)]

# Color palette
cbPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")

cols1 <- cbPalette[c(2,4,2)]
cols2 <- cbPalette[c(2,4,6)]

# This one is for IRF analysis
stat.helper2 <- function(z) c(mean(z), quantile(z, c(0.05, 0.25, 0.75, 0.95)))[c(2, 3, 1, 4, 5)]

Introdução

Fiz esse documento para dar uma olhada com mais cuidado nos dados do PIB mensal no Brasil. Eu já havia feito uma análise comparando IBC-Br com PIB mensal, que depois tenho que colocar aqui.

As minhas metas são: 1. Mostrar que a transformação de logaritmo do X13 ARIMA não equivale a tomar o log da série (nem antes nem depois).

Para isso, eu vou fazer o seguinte:

  1. Tentar encontrar qual seria uma melhor série do PIB mensal (sem sazonalidade)
    1. Entre a série passada no X13 ARIMA (sem transformação) e depois toma a diferença dela em log (PIBa) - é a que eu uso atualmente
    2. A série do PIB mensal quando calcula a taxa de variação anual (e daí não passa no X13 ARIMA) (PIBb)
    3. A série do PIB per capita passando no X13 ARIMA sem nenhuma transformação (PIBc)
    4. A série do PIB per capita passando pelo X13 ARIMA e depois tomando a diferença da série em log (PIBd)
    5. A série do PIB per capita calculando a taxa de variação anual (PIBe)

Análise das séries

Para calcular o PIB real, preciso da série do IPCA também. Na verdade vou baixar todas as séries de uma vez só.

Analisando a série original do PIB real mensal

Analisando o tipo de transformação do X13 ARIMA

Agora vou fazer aquelas primeiras séries:

a. Passar no X13 ARIMA sem nenhuma transformação prévia (PIB1);
b. Passar no X13 ARIMA pedindo a transformação em log (PIB2);
c. Tirar o log e passar no X13 ARIMA sem nenhuma transformação (PIB3);
d. Passar no X13 arima e depois tirar o log (PIB4);
e. Tirar o log, passar no X13 ARIMA sem nenhuma transformação e depois tomar exponencial (PIB5).
##                     qs   p-val
## qsori        223.05943 0.00000
## qsorievadj   223.05943 0.00000
## qsrsd          2.04455 0.35978
## qssadj         0.11717 0.94310
## qssadjevadj    0.11717 0.94310
## qsirr          0.00000 1.00000
## qsirrevadj     0.00000 1.00000
## qssori        73.70678 0.00000
## qssorievadj   73.70678 0.00000
## qssrsd         0.65785 0.71970
## qsssadj        0.01014 0.99494
## qsssadjevadj   0.01014 0.99494
## qssirr         0.00000 1.00000
## qssirrevadj    0.00000 1.00000
## 
## Call:
## seas(x = PIBmensal, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -0.83700    0.13651  -6.131 8.71e-10 ***
## AR-Nonseasonal-02 -0.37993    0.05744  -6.615 3.72e-11 ***
## MA-Nonseasonal-01 -0.57124    0.14263  -4.005 6.20e-05 ***
## MA-Seasonal-12     0.72433    0.04796  15.104  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (2 1 1)(0 1 1)  Obs.: 267  Transform: none
## AICc:  5370, BIC:  5388  QS (no seasonality in final):0.1172  
## Box-Ljung (no autocorr.): 59.13 *** Shapiro (normality): 0.997  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
##                     qs   p-val
## qsori        223.05943 0.00000
## qsorievadj   223.05943 0.00000
## qsrsd          4.64538 0.09801
## qssadj         4.28394 0.11742
## qssadjevadj    4.28394 0.11742
## qsirr          1.41258 0.49347
## qsirrevadj     1.41258 0.49347
## qssori        73.70678 0.00000
## qssorievadj   73.70678 0.00000
## qssrsd         3.34332 0.18793
## qsssadj        2.06605 0.35593
## qsssadjevadj   2.06605 0.35593
## qssirr         0.66301 0.71784
## qssirrevadj    0.66301 0.71784
## 
## Call:
## seas(x = PIBmensal, transform.function = "log", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -1.10589    0.07426 -14.892  < 2e-16 ***
## AR-Nonseasonal-02 -0.38697    0.08835  -4.380 1.19e-05 ***
## AR-Nonseasonal-03 -0.14650    0.06547  -2.238   0.0252 *  
## MA-Nonseasonal-01 -0.95629    0.04110 -23.270  < 2e-16 ***
## MA-Seasonal-12     0.77896    0.04116  18.924  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 1 1)  Obs.: 267  Transform: log
## AICc:  5364, BIC:  5384  QS (no seasonality in final):4.284  
## Box-Ljung (no autocorr.): 84.94 *** Shapiro (normality): 0.9964  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
##                     qs   p-val
## qsori        214.68873 0.00000
## qsorievadj   214.68873 0.00000
## qsrsd          4.64539 0.09801
## qssadj         3.57542 0.16734
## qssadjevadj    3.57542 0.16734
## qsirr          1.41463 0.49297
## qsirrevadj     1.41463 0.49297
## qssori        72.69858 0.00000
## qssorievadj   72.69858 0.00000
## qssrsd         3.34333 0.18793
## qsssadj        2.13691 0.34354
## qsssadjevadj   2.13691 0.34354
## qssirr         0.66257 0.71800
## qssirrevadj    0.66257 0.71800
## 
## Call:
## seas(x = log_do_PIB, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -1.10589    0.07426 -14.892  < 2e-16 ***
## AR-Nonseasonal-02 -0.38697    0.08835  -4.380 1.19e-05 ***
## AR-Nonseasonal-03 -0.14650    0.06547  -2.238   0.0252 *  
## MA-Nonseasonal-01 -0.95629    0.04109 -23.270  < 2e-16 ***
## MA-Seasonal-12     0.77896    0.04116  18.924  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 1 1)  Obs.: 267  Transform: none
## AICc: -1208, BIC: -1187  QS (no seasonality in final):3.575  
## Box-Ljung (no autocorr.): 84.94 *** Shapiro (normality): 0.9964  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
## 
## Call:
## seas(x = PIB4, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                     Estimate Std. Error z value Pr(>|z|)    
## Constant           0.0031920  0.0008614   3.706 0.000211 ***
## LS2001.Jun        -0.0621458  0.0124316  -4.999 5.76e-07 ***
## AR-Nonseasonal-01 -1.1034697  0.0617426 -17.872  < 2e-16 ***
## AR-Nonseasonal-02 -0.3333648  0.0887643  -3.756 0.000173 ***
## AR-Nonseasonal-03 -0.0917952  0.0624334  -1.470 0.141483    
## MA-Nonseasonal-01 -1.0000000  0.0198115 -50.476  < 2e-16 ***
## MA-Seasonal-12    -0.0566923  0.0594316  -0.954 0.340130    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 0 1)  Obs.: 267  Transform: none
## AICc: -1399, BIC: -1371  QS (no seasonality in final): 0.22  
## Box-Ljung (no autocorr.): 88.26 *** Shapiro (normality): 0.9953  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the prior adjusted series (Table
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - Model used for SEATS decomposition is different from the
##   model estimated in the regARIMA modeling module of
##   X-13ARIMA-SEATS.
##                   qs   p-val
## qsori        0.22002 0.89582
## qsorievadj   0.45162 0.79787
## qsrsd        0.00000 1.00000
## qssadj       0.22002 0.89582
## qssadjevadj  0.45162 0.79787
## qsirr        0.42916 0.80688
## qsirrevadj   0.42916 0.80688
## qssori       0.26307 0.87675
## qssorievadj  0.26307 0.87675
## qssrsd       0.12285 0.94043
## qsssadj      0.26307 0.87675
## qsssadjevadj 0.26307 0.87675
## qssirr       0.04952 0.97554
## qssirrevadj  0.04952 0.97554
## 
## Call:
## seas(x = PIB5, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                     Estimate Std. Error z value Pr(>|z|)    
## Constant          1159.04707  364.77506   3.177 0.001486 ** 
## AR-Nonseasonal-01   -0.34139    0.16482  -2.071 0.038325 *  
## AR-Nonseasonal-02   -0.11691    0.06773  -1.726 0.084338 .  
## AR-Nonseasonal-03    0.14919    0.07745   1.926 0.054083 .  
## MA-Nonseasonal-01   -0.54442    0.16056  -3.391 0.000697 ***
## MA-Seasonal-12      -0.13979    0.05942  -2.353 0.018646 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 0 1)  Obs.: 267  Transform: none
## AICc:  5239, BIC:  5264  QS (no seasonality in final):4.281  
## Box-Ljung (no autocorr.): 58.56 *** Shapiro (normality): 0.9925  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the original series (Table A1 or
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - Model used for SEATS decomposition is different from the
##   model estimated in the regARIMA modeling module of
##   X-13ARIMA-SEATS.
##                    qs   p-val
## qsori         4.28135 0.11758
## qsorievadj    4.28135 0.11758
## qsrsd         0.00000 1.00000
## qssadj        4.28135 0.11758
## qssadjevadj   4.28135 0.11758
## qsirr        32.22262 0.00000
## qsirrevadj   32.22262 0.00000
## qssori        3.10509 0.21171
## qssorievadj   3.10509 0.21171
## qssrsd        0.05590 0.97244
## qsssadj       3.10509 0.21171
## qsssadjevadj  3.10509 0.21171
## qssirr       12.41321 0.00202
## qssirrevadj  12.41321 0.00202
PIB1 PIB2 PIB5 PIB3 PIB4
Observações 267.0 267.0 267.0 267.0000 267.0000
Mínimo 254606.7 253737.6 253675.9 12.4438 12.4475
1o quartil 309170.7 308974.1 308899.0 12.6408 12.6416
Média 422645.8 422531.1 422428.4 12.9138 12.9144
Mediana 407348.4 408080.7 407981.5 12.9190 12.9174
3o quartil 549252.1 549982.3 549848.6 13.2174 13.2163
Máximo 610932.0 610519.4 610370.9 13.3218 13.3227
Desv. Pad. 118158.7 118127.6 118098.9 0.2848 0.2848

Conclusão: Basicamente são equivalentes as seguintes séries

Tá, e qual série vou ficar? Decidi ficar com a série que eu usei inicialmente, onde eu passo no X13 primeiro e depois calculo o log para então calcular a primeira diferença.

2. Tentar encontrar qual seria uma melhor série do PIB mensal (sem sazonalidade)

a. A série passada no X13 ARIMA (sem transformação) e depois toma a diferença dela em log (PIBa) - é a que eu uso atualmente
b. A série do PIB mensal quando calcula a taxa de variação anual (e daí não passa no X13 ARIMA) (PIBb)
c. A série do PIB per capita passando no X13 ARIMA sem nenhuma transformação (PIBc)
d. A série do PIB per capita passando pelo X13 ARIMA e depois tomando a diferença da série em log (PIBd)
e. A série do PIB per capita calculando a taxa de variação anual (PIBe)
## 
## Call:
## seas(x = PIB_pc, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -0.82086    0.13269  -6.186 6.16e-10 ***
## AR-Nonseasonal-02 -0.35732    0.05761  -6.202 5.57e-10 ***
## MA-Nonseasonal-01 -0.58717    0.13659  -4.299 1.72e-05 ***
## MA-Seasonal-12     0.76614    0.04354  17.594  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (2 1 1)(0 1 1)  Obs.: 266  Transform: none
## AICc:  2694, BIC:  2712  QS (no seasonality in final):0.5234  
## Box-Ljung (no autocorr.): 61.21 *** Shapiro (normality): 0.9969  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
##                     qs   p-val
## qsori        222.02337 0.00000
## qsorievadj   222.02337 0.00000
## qsrsd          2.42800 0.29701
## qssadj         0.52344 0.76972
## qssadjevadj    0.52344 0.76972
## qsirr          0.00000 1.00000
## qsirrevadj     0.00000 1.00000
## qssori        73.84609 0.00000
## qssorievadj   73.84609 0.00000
## qssrsd         0.90425 0.63628
## qsssadj        0.12055 0.94150
## qsssadjevadj   0.12055 0.94150
## qssirr         0.00000 1.00000
## qssirrevadj    0.00000 1.00000
## 
## Call:
## seas(x = PIB_pca, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01  0.10457    0.23291   0.449   0.6534    
## AR-Nonseasonal-02 -0.11626    0.09560  -1.216   0.2239    
## MA-Nonseasonal-01  0.39883    0.23254   1.715   0.0863 .  
## MA-Seasonal-12     0.76266    0.04503  16.937   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (2 1 1)(0 1 1)  Obs.: 267  Transform: none
## AICc:  2712, BIC:  2730  QS (no seasonality in final):0.5157  
## Box-Ljung (no autocorr.): 110.9 *** Shapiro (normality): 0.9962  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
##                     qs   p-val
## qsori        222.48739 0.00000
## qsorievadj   222.48739 0.00000
## qsrsd          4.94517 0.08437
## qssadj         0.51569 0.77272
## qssadjevadj    0.51569 0.77272
## qsirr          0.19894 0.90532
## qsirrevadj     0.19894 0.90532
## qssori        73.84609 0.00000
## qssorievadj   73.84609 0.00000
## qssrsd         2.39615 0.30177
## qsssadj        0.11641 0.94346
## qsssadjevadj   0.11641 0.94346
## qssirr         0.00250 0.99875
## qssirrevadj    0.00250 0.99875
PIBa PIBb PIBc PIBd PIBe
Observações 266.0000 266.0000 266.0000 266.0000 266.0000
Mínimo -0.0653 -12.4468 1550.9303 -0.0688 -13.7417
1o quartil -0.0091 0.9885 1757.3453 -0.0107 -0.1216
Média 0.0029 3.7537 2226.0956 0.0020 2.5727
Mediana 0.0037 3.8048 2169.1178 0.0027 2.5618
3o quartil 0.0163 7.1587 2702.3324 0.0158 5.8039
Máximo 0.0531 13.5300 3023.6749 0.0530 12.3665
Desv. Pad. 0.0186 4.7250 475.2141 0.0191 4.6305

E agora vou fazer um gráfico de todos esses PIBs.

  1. PIB mensal usando o X13-ARIMA sem nenhuma transformação;
  2. A série passada no X13 ARIMA (sem transformação) e depois toma a diferença dela em log (PIBa) - É o que eu usei até agora
  3. A série do PIB mensal quando calcula a taxa de variação anual (e daí não passa no X13 ARIMA) (PIBb)
  4. A série do PIB per capita passando no X13 ARIMA sem nenhuma transformação (PIBc)
  5. A série do PIB per capita passando pelo X13 ARIMA e depois tomando a diferença da série em log (PIBd)
  6. A série do PIB per capita calculando a taxa de variação anual (PIBe)

Tratamento das demais séries

Primeiro vou ter que tratar as outras variáveis. ### 1. Capital-Labor Ratio

##                    qs   p-val
## qsori        34.12733 0.00000
## qsorievadj   91.53477 0.00000
## qsrsd         0.00000 1.00000
## qssadj        0.00000 1.00000
## qssadjevadj   0.00000 1.00000
## qsirr         0.00078 0.99961
## qsirrevadj    0.00000 1.00000
## qssori       33.13775 0.00000
## qssorievadj  85.86391 0.00000
## qssrsd        0.00000 1.00000
## qsssadj       0.00000 1.00000
## qsssadjevadj  0.00000 1.00000
## qssirr        0.05069 0.97497
## qssirrevadj   0.00000 1.00000
## 
## Call:
## seas(x = capital_trabalho_a, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AO1996.Jan        -0.35561    0.10377  -3.427 0.000611 ***
## AO1998.Jan         0.67046    0.08634   7.766 8.12e-15 ***
## LS1998.Jul         0.28775    0.05339   5.390 7.06e-08 ***
## AO1998.Aug         0.29547    0.08564   3.450 0.000561 ***
## AO1999.Feb         0.68086    0.09704   7.016 2.28e-12 ***
## AO1999.Mar         0.37531    0.09644   3.892 9.96e-05 ***
## AO2002.Oct         0.49217    0.08564   5.747 9.10e-09 ***
## AR-Nonseasonal-01  0.64477    0.07100   9.081  < 2e-16 ***
## MA-Seasonal-12     0.99965    0.08975  11.138  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (1 0 0)(0 1 1)  Obs.: 97  Transform: none
## AICc: -109.8, BIC: -88.36  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.): 20.02   Shapiro (normality): 0.9765 .
##                     qs   p-val
## qsori        242.32197 0.00000
## qsorievadj   287.80760 0.00000
## qsrsd          0.00000 1.00000
## qssadj        13.25076 0.00133
## qssadjevadj    0.00000 1.00000
## qsirr          6.90372 0.03169
## qsirrevadj     0.00000 1.00000
## qssori       134.89609 0.00000
## qssorievadj  155.37794 0.00000
## qssrsd         4.35854 0.11312
## qsssadj        5.14745 0.07625
## qsssadjevadj   0.00000 1.00000
## qssirr         7.59824 0.02239
## qssirrevadj    0.00000 1.00000
## 
## Call:
## seas(x = capital_trabalho_b, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AO2004.Jun        -0.74155    0.05278 -14.049  < 2e-16 ***
## LS2004.Nov        -0.25272    0.03722  -6.789 1.13e-11 ***
## AO2004.Dec        -0.46336    0.04768  -9.718  < 2e-16 ***
## AO2005.Jan         0.21001    0.05129   4.095 4.22e-05 ***
## AO2005.Jun         0.39668    0.05002   7.930 2.19e-15 ***
## AO2006.Jan         0.41973    0.04679   8.969  < 2e-16 ***
## AO2006.Jun         0.52133    0.04725  11.034  < 2e-16 ***
## AO2006.Dec        -0.19085    0.04160  -4.588 4.47e-06 ***
## AO2007.Jan         0.35202    0.04432   7.943 1.98e-15 ***
## AO2007.Jun         0.36303    0.04432   8.191 2.59e-16 ***
## AO2010.Jun        -0.20396    0.04037  -5.053 4.36e-07 ***
## AO2011.Oct         0.22042    0.03978   5.541 3.01e-08 ***
## AO2011.Dec         0.19854    0.03984   4.983 6.26e-07 ***
## AO2013.Jun        -0.40527    0.04064  -9.972  < 2e-16 ***
## AO2014.Jun        -0.31716    0.04068  -7.797 6.35e-15 ***
## AO2016.Dec         0.24956    0.04116   6.063 1.34e-09 ***
## MA-Nonseasonal-01  0.68849    0.05725  12.027  < 2e-16 ***
## MA-Seasonal-12     0.63001    0.06814   9.246  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (0 1 1)(0 1 1)  Obs.: 169  Transform: none
## AICc: -456.5, BIC: -404.1  QS (no seasonality in final):13.25 **
## Box-Ljung (no autocorr.): 26.23   Shapiro (normality): 0.9833 *

## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression drift 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.71942 -0.05589 -0.02009  0.02240  0.84050 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.10407    0.03819   2.725  0.00691 ** 
## z.lag.1     -0.18025    0.06521  -2.764  0.00615 ** 
## z.diff.lag1 -0.51120    0.08142  -6.279 1.61e-09 ***
## z.diff.lag2 -0.33937    0.08193  -4.142 4.78e-05 ***
## z.diff.lag3 -0.31427    0.07891  -3.983 9.06e-05 ***
## z.diff.lag4 -0.32914    0.07457  -4.414 1.54e-05 ***
## z.diff.lag5 -0.16080    0.06372  -2.524  0.01227 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.148 on 238 degrees of freedom
## Multiple R-squared:  0.347,  Adjusted R-squared:  0.3305 
## F-statistic: 21.08 on 6 and 238 DF,  p-value: < 2.2e-16
## 
## 
## Value of test-statistic is: -2.7642 3.8382 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1  6.47  4.61  3.79
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression drift 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.73363 -0.05954 -0.01229  0.03755  0.87206 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.001866   0.009584   0.195  0.84579    
## z.lag.1     -3.443603   0.320516 -10.744  < 2e-16 ***
## z.diff.lag1  1.766775   0.284779   6.204 2.43e-09 ***
## z.diff.lag2  1.270467   0.233790   5.434 1.36e-07 ***
## z.diff.lag3  0.822876   0.180244   4.565 8.01e-06 ***
## z.diff.lag4  0.379660   0.124186   3.057  0.00249 ** 
## z.diff.lag5  0.112135   0.064543   1.737  0.08362 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1497 on 237 degrees of freedom
## Multiple R-squared:  0.7665, Adjusted R-squared:  0.7606 
## F-statistic: 129.7 on 6 and 237 DF,  p-value: < 2.2e-16
## 
## 
## Value of test-statistic is: -10.7439 57.7163 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1  6.47  4.61  3.79

2. Selic (interest rate)

##                   qs   p-val
## qsori       30.28836 0.00000
## qsorievadj  30.28836 0.00000
## qsrsd        0.00000 1.00000
## qssadj       3.00726 0.22232
## qssadjevadj  3.00726 0.22232
## qsirr        0.00000 1.00000
## qsirrevadj   0.00000 1.00000
## 
## Call:
## seas(x = selic_b, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -0.19030    0.14589  -1.304    0.192    
## AR-Nonseasonal-02  0.09671    0.09194   1.052    0.293    
## AR-Nonseasonal-03  0.51926    0.08351   6.218 5.03e-10 ***
## MA-Nonseasonal-01  0.12082    0.17475   0.691    0.489    
## MA-Seasonal-12     0.99913    0.12930   7.727 1.10e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 1 1)  Obs.: 87  Transform: none
## AICc: 306.6, BIC: 319.2  QS (no seasonality in final):3.007  
## Box-Ljung (no autocorr.): 44.68 ** Shapiro (normality): 0.9865  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.
##                    qs   p-val
## qsori        45.47230 0.00000
## qsorievadj   45.47230 0.00000
## qsrsd         0.00000 1.00000
## qssadj        2.90012 0.23456
## qssadjevadj   2.90012 0.23456
## qsirr         0.00000 1.00000
## qsirrevadj    0.00000 1.00000
## qssori       31.25379 0.00000
## qssorievadj  31.25379 0.00000
## qssrsd        0.00000 1.00000
## qsssadj       2.79444 0.24728
## qsssadjevadj  2.79444 0.24728
## qssirr        0.00000 1.00000
## qssirrevadj   0.00000 1.00000
## 
## Call:
## seas(x = selic_c, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01 -0.17009    0.10795  -1.576  0.11511    
## AR-Nonseasonal-02  0.21991    0.07042   3.123  0.00179 ** 
## AR-Nonseasonal-03  0.58243    0.06440   9.044  < 2e-16 ***
## MA-Nonseasonal-01  0.29636    0.13073   2.267  0.02339 *  
## MA-Seasonal-12     0.99998    0.09303  10.749  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (3 1 1)(0 1 1)  Obs.: 139  Transform: none
## AICc: 311.3, BIC: 327.6  QS (no seasonality in final):  2.9  
## Box-Ljung (no autocorr.): 61.92 *** Shapiro (normality): 0.9843  
## Messages generated by X-13:
## Warnings:
## - At least one visually significant trading day peak has
##   been found in one or more of the estimated spectra.

## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression drift 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.4155  -0.8920  -0.1325   0.7859  21.8141 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.55727    0.45884   1.215   0.2258    
## z.lag.1     -0.04258    0.02739  -1.555   0.1213    
## z.diff.lag1 -0.07486    0.06754  -1.108   0.2688    
## z.diff.lag2 -0.12590    0.06436  -1.956   0.0516 .  
## z.diff.lag3 -0.09387    0.06487  -1.447   0.1492    
## z.diff.lag4 -0.09785    0.06484  -1.509   0.1326    
## z.diff.lag5 -0.05325    0.06442  -0.827   0.4092    
## z.diff.lag6  0.05328    0.06387   0.834   0.4051    
## z.diff.lag7 -0.27783    0.06296  -4.413 1.55e-05 ***
## z.diff.lag8 -0.09719    0.06503  -1.495   0.1364    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.594 on 235 degrees of freedom
## Multiple R-squared:  0.1435, Adjusted R-squared:  0.1107 
## F-statistic: 4.376 on 9 and 235 DF,  p-value: 2.692e-05
## 
## 
## Value of test-statistic is: -1.5549 1.4189 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau2 -3.44 -2.87 -2.57
## phi1  6.47  4.61  3.79

2. Swap DI pré 3 meses

4. Exchange rate

#######################
# Câmbio              #
#######################
cores <- brewer.pal(6, "Dark2")

meses <- ggmonthplot(cambio_raw) + 
  theme_bw() +
  scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (índice)") +
  labs(title = "", x = "Mês", subtitle = "")+
  theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
  #labs(title = "Média diária e mensal da taxa de câmbio", x = "Month", subtitle = "No data transformation")

# Gráfico por ano e mês
season <- ggseasonplot(cambio_raw, year.labels = TRUE) + 
  geom_point() + 
  theme_bw() + 
  scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (índice)") +
  labs(title = "", x = "Mês", subtitle = "")+
  theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
  #labs(title = "Monthly average of exchange rate", x = "Month", subtitle = "No data transformation")

#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Season_CAMBIO.pdf", width = 6, height = 3)
season

#dev.off()

#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Month_CAMBIO.pdf", width = 6, height = 3)
meses 

#dev.off() 

bp_ts <- breakpoints(cambio_raw ~ 1)
ci_ts <- confint(bp_ts)

Data <- seq(as.Date("1996-01-01"), length = length(cambio_raw), by = "1 month")
df1 <- melt(data.frame(Data,cambio_raw), id.vars = "Data")
names(df1) <- c("Data", "Variavel", "Valor")

p1 <- ggplot(df1[which(df1$Variavel == "cambio_raw"),], aes(Data, Valor, colour = Variavel)) +
        geom_line(alpha = 1, show.legend=F, colour = cores[1])+
        scale_y_continuous(name="Taxa de Câmbio Efetiva Real (índice)") +
        scale_x_date(date_breaks = "12 months", name = "Date", labels = date_format("%m-%Y"))+ 
        geom_vline(xintercept = Data[bp_ts$breakpoints], linetype="longdash")+
        geom_segment(aes(x = Data[ci_ts$confint[1]], y = min(cambio_raw), xend = Data[ci_ts$confint[5]], yend = min(cambio_raw)))+
        geom_segment(aes(x = Data[ci_ts$confint[2]], y = min(cambio_raw), xend = Data[ci_ts$confint[7]], yend = min(cambio_raw)))+
        geom_segment(aes(x = Data[ci_ts$confint[3]], y = min(cambio_raw), xend = Data[ci_ts$confint[8]], yend = min(cambio_raw)))+
        geom_segment(aes(x = Data[ci_ts$confint[4]], y = min(cambio_raw), xend = Data[ci_ts$confint[9]], yend = min(cambio_raw)))+
        geom_segment(aes(x = Data[ci_ts$confint[5]], y = min(cambio_raw), xend = Data[ci_ts$confint[10]], yend = min(cambio_raw)))+
        theme_bw()
p1 <- p1 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 6), legend.position = "none")
p1

m <- seas(x = cambio_raw, transform.function = "none", regression.aictest = NULL)
qs(m)
##                   qs   p-val
## qsori        0.00000 1.00000
## qsorievadj   0.00000 1.00000
## qsrsd        0.00000 1.00000
## qssadj       0.00000 1.00000
## qssadjevadj  0.00000 1.00000
## qsirr        1.95492 0.37627
## qsirrevadj   0.00000 1.00000
## qssori       0.00000 1.00000
## qssorievadj  0.00000 1.00000
## qssrsd       0.00000 1.00000
## qsssadj      0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr       0.00089 0.99956
## qssirrevadj  0.00089 0.99956
summary(m)
## 
## Call:
## seas(x = cambio_raw, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                    Estimate Std. Error z value Pr(>|z|)    
## LS1999.Jan         17.02395    3.09599   5.499 3.83e-08 ***
## LS1999.Feb         21.38801    3.09599   6.908 4.91e-12 ***
## AO2002.Oct         13.48149    1.51273   8.912  < 2e-16 ***
## AO2003.Jan        -10.34910    1.51273  -6.841 7.85e-12 ***
## AO2008.Dec          7.21563    1.47115   4.905 9.35e-07 ***
## MA-Nonseasonal-01  -0.54841    0.05153 -10.642  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (0 1 1)  Obs.: 267  Transform: none
## AICc:  1371, BIC:  1396  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.): 30.22   Shapiro (normality): 0.9478 ***
## Messages generated by X-13:
## Warnings:
## - At least one visually significant seasonal peak has been
##   found in one or more of the estimated spectra.
## 
## Notes:
## - Unable to test LS1999.Jan due to regression matrix
##   singularity.
## - Unable to test AO1999.Jan due to regression matrix
##   singularity.
## - Unable to test AO2015.Aug due to regression matrix
##   singularity.
cambio_raw.df <- ur.df(cambio_raw, type = "trend", selectlags = "AIC", lags = 20)
summary(cambio_raw.df) # Não se rejeita a hipótese nula de não estacionariedade
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.4804  -2.0433  -0.2678   1.2089  17.2946 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.254164   1.531452   2.778  0.00590 ** 
## z.lag.1     -0.035870   0.013098  -2.739  0.00663 ** 
## tt          -0.004027   0.003849  -1.046  0.29652    
## z.diff.lag   0.315510   0.060540   5.212 4.01e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.209 on 242 degrees of freedom
## Multiple R-squared:  0.1212, Adjusted R-squared:  0.1103 
## F-statistic: 11.12 on 3 and 242 DF,  p-value: 7.275e-07
## 
## 
## Value of test-statistic is: -2.7386 2.6503 3.9022 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -3.98 -3.42 -3.13
## phi2  6.15  4.71  4.05
## phi3  8.34  6.30  5.36
# Agora calculo a diferença da série em log
cambio <- diff(log(cambio_raw))
cambio.df <- ur.df(cambio, type = "trend", selectlags = "AIC", lags = 20)
summary(cambio.df) # Agora sim está estacionária
## 
## ############################################### 
## # Augmented Dickey-Fuller Test Unit Root Test # 
## ############################################### 
## 
## Test regression trend 
## 
## 
## Call:
## lm(formula = z.diff ~ z.lag.1 + 1 + tt + z.diff.lag)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.117865 -0.020675 -0.000533  0.013748  0.202822 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  4.576e-03  5.419e-03   0.845   0.3992    
## z.lag.1     -7.436e-01  7.242e-02 -10.268   <2e-16 ***
## tt          -2.320e-05  3.393e-05  -0.684   0.4947    
## z.diff.lag   1.513e-01  6.375e-02   2.373   0.0184 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.03745 on 241 degrees of freedom
## Multiple R-squared:  0.3381, Adjusted R-squared:  0.3299 
## F-statistic: 41.04 on 3 and 241 DF,  p-value: < 2.2e-16
## 
## 
## Value of test-statistic is: -10.2678 35.145 52.7175 
## 
## Critical values for test statistics: 
##       1pct  5pct 10pct
## tau3 -3.98 -3.42 -3.13
## phi2  6.15  4.71  4.05
## phi3  8.34  6.30  5.36
# Let's try to plot everything together
df <- data.frame(seq(as.Date("1996-01-01"), length = length(cambio_raw[-length(cambio_raw)]), by = "1 month"), cambio_raw[-length(cambio_raw)]/100, cambio)
names(df) <- c("Data", "Original", "Série diferenciada")
p3 <- ggplot(df, aes(Data)) +
  geom_line(aes(y = cambio_raw[-length(cambio_raw)]/100, colour = "Original")) +
  geom_line(aes(y = cambio, colour = "Diferenciada")) + 
  scale_x_date(date_breaks = "12 months", name = "Data", labels = date_format("%Y"))+
  scale_y_continuous(name = "Taxa de Câmbio Efetiva Real (Índice)")+
  labs(color="Variável") +
  theme_bw()
p3 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 8))

5. IPCA

#######################
# IPCA                #
#######################
cores <- brewer.pal(6, "Dark2")

meses <- ggmonthplot(ipca) + 
  theme_bw() +
  scale_y_continuous(name = "Taxa de Inflação (IPCA - % a.a.)") +
  labs(title = "", x = "Mês", subtitle = "")+
  theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
  #labs(title = "Monthly average of the inflation index", x = "Month", subtitle = "No data transformation")

# Gráfico por ano e mês
season <- ggseasonplot(ipca, year.labels = TRUE) + 
  geom_point() + 
  theme_bw() + 
  scale_y_continuous(name = "Taxa de Inflação (IPCA - % a.a.)") +
  labs(title = "", x = "Mês", subtitle = "")+
  theme(axis.title = element_text(size=7), axis.text.x = element_text(angle=25, hjust = 1, size = 7))
  #labs(title = "Monthly average of the inflation index", x = "Month", subtitle = "No data transformation")

#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Season_IPCA.pdf", width = 6, height = 3)
season

#dev.off()

#pdf(file = "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Imagens\\Fig-Month_IPCA.pdf", width = 6, height = 3)
meses

#dev.off()


bp_ts <- breakpoints(ipca ~ 1)
ci_ts <- confint(bp_ts)

Data <- seq(as.Date("1996-01-01"), length = length(ipca), by = "1 month")
df1 <- melt(data.frame(Data,ipca), id.vars = "Data")
names(df1) <- c("Data", "Variavel", "Valor")

p1 <- ggplot(df1[which(df1$Variavel == "ipca"),], aes(Data, Valor, colour = Variavel)) +
        geom_line(alpha = 1, show.legend=F, colour = cores[1])+
        scale_y_continuous(name="Inflation (% monthly)") +
        scale_x_date(date_breaks = "12 months", name = "Date", labels = date_format("%m-%Y"))+ 
        geom_vline(xintercept = Data[bp_ts$breakpoints], linetype="longdash")+
        geom_segment(aes(x = Data[ci_ts$confint[1]], y = min(ipca), xend = Data[ci_ts$confint[5]], yend = min(ipca)))+
        geom_segment(aes(x = Data[ci_ts$confint[2]], y = min(ipca), xend = Data[ci_ts$confint[6]], yend = min(ipca)))+
        theme_bw()
p1 <- p1 + theme(axis.text.x = element_text(angle=25, hjust = 1, size = 6), legend.position = "none")
p1

# Now I divide the series in 3 different pieces to apply the seasonal filter
# Salvando três séries para passar o seasonal
ipca_a <- ipca[1:(bp_ts$breakpoints[1]-1)]
ipca_b <- ipca[(bp_ts$breakpoints[1]):(bp_ts$breakpoints[2]-1)]
ipca_c <- ipca[(bp_ts$breakpoints[2]):(length(ipca))]
ipca_a <- ts(ipca_a,  start = c(1996, 01, 01), frequency = 12)
ipca_b <- ts(ipca_b,  start = c(2002, 03, 01), frequency = 12)
ipca_c <- ts(ipca_c,  start = c(2005, 06, 01), frequency = 12)

# There is no evidence of seasonal component in either the complete series nor the pieces
m <- seas(x = ipca_a, transform.function = "none", regression.aictest = NULL)
qs(m)
##                  qs   p-val
## qsori       0.00000 1.00000
## qsorievadj  0.00000 1.00000
## qsrsd       0.52144 0.77050
## qssadj      0.00000 1.00000
## qssadjevadj 0.00000 1.00000
## qsirr       0.00000 1.00000
## qsirrevadj  0.00000 1.00000
## qssrsd      0.35015 0.83939
summary(m)
## 
## Call:
## seas(x = ipca_a, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01  0.79459    0.06821  11.649   <2e-16 ***
## MA-Seasonal-12     0.50638    0.09393   5.391    7e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (1 1 0)(0 0 1)  Obs.: 74  Transform: none
## AICc: 92.27, BIC: 98.79  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.): 22.07   Shapiro (normality): 0.984  
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the original series (Table A1 or
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - Model used for SEATS decomposition is different from the
##   model estimated in the regARIMA modeling module of
##   X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na primeira parte
m <- seas(x = ipca_b, transform.function = "none", regression.aictest = NULL)
qs(m)
##             qs p-val
## qsori        0     1
## qsorievadj   0     1
## qsrsd        0     1
## qssadj       0     1
## qssadjevadj  0     1
## qsirr        0     1
## qsirrevadj   0     1
summary(m)
## 
## Call:
## seas(x = ipca_b, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## LS2002.Nov          1.4617     0.3866   3.781 0.000156 ***
## LS2003.Nov         -1.5678     0.3866  -4.056    5e-05 ***
## AR-Nonseasonal-01   0.7847     0.0954   8.226  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (1 1 0)  Obs.: 39  Transform: none
## AICc: 64.01, BIC: 69.35  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.):  33.2 . Shapiro (normality): 0.9852  
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the prior adjusted series (Table
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - The program cannot perform hypothesis tests for kurtosis
##   on less than 50 observations.
# Não tem evidência que precisa ajuste sazonal na segunda parte
m <- seas(x = ipca_c, transform.function = "none", regression.aictest = NULL)
qs(m)
##                   qs   p-val
## qsori        0.00000 1.00000
## qsorievadj   0.00000 1.00000
## qsrsd        2.06009 0.35699
## qssadj       0.00000 1.00000
## qssadjevadj  0.00000 1.00000
## qsirr        0.00000 1.00000
## qsirrevadj   0.00000 1.00000
## qssori       0.00000 1.00000
## qssorievadj  0.00000 1.00000
## qssrsd       1.09881 0.57729
## qsssadj      0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr       0.00000 1.00000
## qssirrevadj  0.00000 1.00000
summary(m)
## 
## Call:
## seas(x = ipca_c, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## AR-Nonseasonal-01  0.63263    0.05707   11.09   <2e-16 ***
## MA-Seasonal-12     0.99989    0.06319   15.82   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (1 1 0)(0 0 1)  Obs.: 153  Transform: none
## AICc: -19.97, BIC: -11.06  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.): 34.49 . Shapiro (normality): 0.993  
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the original series (Table A1 or
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - Model used for SEATS decomposition is different from the
##   model estimated in the regARIMA modeling module of
##   X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na terceira parte

m <- seas(x = ipca, transform.function = "none", regression.aictest = NULL)
qs(m)
##                   qs   p-val
## qsori        0.00000 1.00000
## qsorievadj   0.00000 1.00000
## qsrsd        1.84107 0.39830
## qssadj       0.00000 1.00000
## qssadjevadj  0.00000 1.00000
## qsirr        0.00000 1.00000
## qsirrevadj   0.00000 1.00000
## qssori       0.00000 1.00000
## qssorievadj  0.00000 1.00000
## qssrsd       2.06590 0.35595
## qsssadj      0.00000 1.00000
## qsssadjevadj 0.00000 1.00000
## qssirr       0.00000 1.00000
## qssirrevadj  0.00000 1.00000
summary(m)
## 
## Call:
## seas(x = ipca, transform.function = "none", regression.aictest = NULL)
## 
## Coefficients:
##                   Estimate Std. Error z value Pr(>|z|)    
## LS2003.Jul        -0.55724    0.12823  -4.346 1.39e-05 ***
## AR-Nonseasonal-01  0.76739    0.03792  20.239  < 2e-16 ***
## MA-Seasonal-12     0.89032    0.02928  30.404  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## SEATS adj.  ARIMA: (1 1 0)(0 0 1)  Obs.: 266  Transform: none
## AICc:   179, BIC: 193.2  QS (no seasonality in final):    0  
## Box-Ljung (no autocorr.):    14   Shapiro (normality): 0.9356 ***
## Messages generated by X-13:
## Warnings:
## - Series should not be a candidate for seasonal adjustment
##   because the spectrum of the prior adjusted series (Table
##   B1) has no visually significant seasonal peaks.
## 
## Notes:
## - Model used for SEATS decomposition is different from the
##   model estimated in the regARIMA modeling module of
##   X-13ARIMA-SEATS.
# Não tem evidência que precisa ajuste sazonal na série toda

# Como não fiz nenhuma transformação não tem muito o que plotar de gráfico aqui

Modelo 1: PIB com ajuste sazonal e primeira diferença da série do log

Variávels finais após ajuste sazonal

Descritivas

Capital_trabalho Swap PIB Cambio IPCA
Observações 266.0000 266.0000 266.0000 266.0000 266.0000
Mínimo -8.1395 6.5400 -6.5307 -11.6869 1.6456
1o quartil 44.8218 10.7125 -0.9087 -1.9531 4.8092
Média 55.7700 13.9905 0.2945 0.1353 6.8280
Mediana 51.2403 13.1600 0.3725 -0.1574 6.2707
3o quartil 63.6885 17.3900 1.6253 1.4423 7.6704
Máximo 151.0014 27.4900 5.3142 21.6674 21.9876
Desv. Pad. 19.0722 4.7089 1.8553 3.8780 3.4314

Estimating the BVAR

#################
# MODELO 1 - Do jeito que está
#################

# Junta o swap com a selic
selic_trim <- ts(selic_final[1:44], start = c(1996, 01, 01), frequency = 12)

# Binding the series
comb <- ts.union(selic_trim, swap90)
swap <- pmin(comb[,1], comb[,2], na.rm = TRUE)

#Inflação - Produto - Juros - Câmbio - Desigualdade.
var1 <- cbind(capital_trabalho_final*100, ipca, PIB*100, swap, cambio) # The bvar function does not allows data.frames
#var2 <- cbind(capital_trabalho_final, swap, PIB2, cambio, ipca) # The bvar function does not allows data.frames
names(var1) <- c("capital_trabalho", "ipca", "pib", "swap", "cambio")
#names(var1) <- c("ipca", "pib", "swap", "cambio","capital_trabalho") # Ficou uma merda

#var1 <- c(1,2,3,4,5)

pos_ct     <- grep("capital_trabalho", names(var1))
pos_swap   <- grep("swap", names(var1))
pos_pib    <- grep("pib", names(var1))
pos_cambio <- grep("cambio", names(var1))
pos_ipca   <- grep("ipca", names(var1))


set.seed(6969)

nburn.    <- 500000 # Burn the first 100kk replications
nrep.     <- 100000 # Estimate another 100k times after burn in
thinfac.  <- 4 # But keep only 1 in 4 estimates
p.        <- 1 # Number of lags
tau.      <- 48 - p. # Number of observations to use as prior
nf.       <- 1 # Number of forecast periods
k_B.      <- 6 # Fator de inflação na priori
k_A.      <- 4 # Fator de inflação na priori

# No idea what's this for
tamanho <- floor(1/thinfac.*nrep.)
# número de tempos
tempo <- nrow(var1)

pm <- proc.time()
#fit1 <- bvar.sv.tvp(var1, p=p., tau = tau., nburn = nburn., nrep = nrep., thinfac = thinfac., nf = nf., k_B = k_B., k_A = k_A.)
#saveRDS(fit1, "D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Testes PIB\\fit_piba.rds") 
fit1 <- readRDS("D:\\Onedrive - Aisha\\OneDrive\\Documentos\\Mestrado Economia\\Dissertação\\YSI - Buenos Aires\\Testes PIB\\fit_piba.rds") 
#rm(fit1)
proc.time() - pm
##    user  system elapsed 
##   18.07    1.01   19.16

IRF

Impactos dos choques monetários

Em todas variáveis do modelo, no último período

Na razão capital trabalho porém em períodos de mudança no Banco Central.

Os presidentes do BCB no período analisado foram:

  • Arminio Fraga Neto - 4/3/1999 a 1/1/2003
  • Henrique de Campos Meirelles - 1/1/2003 a 1/1/2011 \(t=37\)
  • Alexandre Antonio Tombini - 1/1/2011 a 8/6/2016 \(t=133\)
  • Ilan Goldfajn - 9/6/2016 - atual \(t=198\)

Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:

  • Pedro Malan - 01/01/1995 a 01/01/2003
  • Antonio Palocci Filho - 01/01/2003 a 27/03/2006 \(t=37\)
  • Guido Mantega - 27/03/2006 a 01/01/2015 \(t=75\)
  • Joaquim Levy - 01/01/2015 a 18/12/2015 \(t=183\)
  • Nelson Barbosa - 18/12/2015 a 12/05/2016 \(t=192\)
  • Henrique Meirelles - 12/05/2016 a 10/04/2018 \(t=197\)
  • Eduardo Guardia - 10/04/2018 - atual

Na taxa de variação do PIB

Na taxa de variação do índice da taxa de câmbio real efetiva

No IPCA

Impacto dos choques do PIB

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques da taxa de variação do índice da taxa de câmbio real efetiva

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques do IPCA

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Avaliando os parâmetros

Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).

Razão Capital-Trabalho

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):

Swap

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

PIB

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Taxa de Câmbio

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

IPCA

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Plotando as variáveis todas juntas

Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:

Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?

Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:

Gráfico dos coeficientes das outras variáveis defasadas na equação da razão capital-trabalho

Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:

Agora o mesmo gráfico mas forçando o zero a aparecer:

E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:

Repete o mesmo de antes, mas incluindo zero no eixo y:

Modelo 2: A série do PIB mensal quando calcula a taxa de variação anual (e daí não passa no X13 ARIMA) (PIBb)

Variávels finais após ajuste sazonal

Descritivas

Capital_trabalho Swap PIB Cambio IPCA
Observações 266.0000 266.0000 266.0000 266.0000 266.0000
Mínimo -8.1395 6.5400 -1244.6761 -11.6869 1.6456
1o quartil 44.8218 10.7125 98.8503 -1.9531 4.8092
Média 55.7700 13.9905 375.3744 0.1353 6.8280
Mediana 51.2403 13.1600 380.4773 -0.1574 6.2707
3o quartil 63.6885 17.3900 715.8672 1.4423 7.6704
Máximo 151.0014 27.4900 1352.9977 21.6674 21.9876
Desv. Pad. 19.0722 4.7089 472.5005 3.8780 3.4314

Estimating the BVAR

IRF

Impactos dos choques monetários

Em todas variáveis do modelo, no último período

Na razão capital trabalho porém em períodos de mudança no Banco Central.

Os presidentes do BCB no período analisado foram:

  • Arminio Fraga Neto - 4/3/1999 a 1/1/2003
  • Henrique de Campos Meirelles - 1/1/2003 a 1/1/2011 \(t=37\)
  • Alexandre Antonio Tombini - 1/1/2011 a 8/6/2016 \(t=133\)
  • Ilan Goldfajn - 9/6/2016 - atual \(t=198\)

Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:

  • Pedro Malan - 01/01/1995 a 01/01/2003
  • Antonio Palocci Filho - 01/01/2003 a 27/03/2006 \(t=37\)
  • Guido Mantega - 27/03/2006 a 01/01/2015 \(t=75\)
  • Joaquim Levy - 01/01/2015 a 18/12/2015 \(t=183\)
  • Nelson Barbosa - 18/12/2015 a 12/05/2016 \(t=192\)
  • Henrique Meirelles - 12/05/2016 a 10/04/2018 \(t=197\)
  • Eduardo Guardia - 10/04/2018 - atual

Na taxa de variação do PIB

Na taxa de variação do índice da taxa de câmbio real efetiva

No IPCA

Impacto dos choques do PIB

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques da taxa de variação do índice da taxa de câmbio real efetiva

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques do IPCA

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Avaliando os parâmetros

Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).

Razão Capital-Trabalho

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):

Swap

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

PIB

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Taxa de Câmbio

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

IPCA

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Plotando as variáveis todas juntas

Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:

Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?

Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:

Gráfico dos coeficientes das outras variáveis defasadas na equação da razão capital-trabalho

Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:

Agora o mesmo gráfico mas forçando o zero a aparecer:

E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:

Repete o mesmo de antes, mas incluindo zero no eixo y:

Modelo 3: A série do PIB per capita passando pelo X13 ARIMA e depois tomando a diferença da série em log (PIBd)

Variávels finais após ajuste sazonal

Descritivas

Capital_trabalho Swap PIB Cambio IPCA
Observações 266.0000 266.0000 266.0000 266.0000 266.0000
Mínimo -8.1395 6.5400 -6.8826 -11.6869 1.6456
1o quartil 44.8218 10.7125 -1.0716 -1.9531 4.8092
Média 55.7700 13.9905 0.2000 0.1353 6.8280
Mediana 51.2403 13.1600 0.2672 -0.1574 6.2707
3o quartil 63.6885 17.3900 1.5787 1.4423 7.6704
Máximo 151.0014 27.4900 5.3019 21.6674 21.9876
Desv. Pad. 19.0722 4.7089 1.9127 3.8780 3.4314

Estimating the BVAR

IRF

Impactos dos choques monetários

Em todas variáveis do modelo, no último período

Na razão capital trabalho porém em períodos de mudança no Banco Central.

Os presidentes do BCB no período analisado foram:

  • Arminio Fraga Neto - 4/3/1999 a 1/1/2003
  • Henrique de Campos Meirelles - 1/1/2003 a 1/1/2011 \(t=37\)
  • Alexandre Antonio Tombini - 1/1/2011 a 8/6/2016 \(t=133\)
  • Ilan Goldfajn - 9/6/2016 - atual \(t=198\)

Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:

  • Pedro Malan - 01/01/1995 a 01/01/2003
  • Antonio Palocci Filho - 01/01/2003 a 27/03/2006 \(t=37\)
  • Guido Mantega - 27/03/2006 a 01/01/2015 \(t=75\)
  • Joaquim Levy - 01/01/2015 a 18/12/2015 \(t=183\)
  • Nelson Barbosa - 18/12/2015 a 12/05/2016 \(t=192\)
  • Henrique Meirelles - 12/05/2016 a 10/04/2018 \(t=197\)
  • Eduardo Guardia - 10/04/2018 - atual

Na taxa de variação do PIB

Na taxa de variação do índice da taxa de câmbio real efetiva

No IPCA

Impacto dos choques do PIB

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques da taxa de variação do índice da taxa de câmbio real efetiva

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques do IPCA

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Avaliando os parâmetros

Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).

Razão Capital-Trabalho

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):

Swap

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

PIB

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Taxa de Câmbio

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

IPCA

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Plotando as variáveis todas juntas

Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:

Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?

Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:

Gráfico dos coeficientes das outras variáveis defasadas na equação da razão capital-trabalho

Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:

Agora o mesmo gráfico mas forçando o zero a aparecer:

E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:

Repete o mesmo de antes, mas incluindo zero no eixo y:

Modelo 4: A série do PIB per capita calculando a taxa de variação anual (PIBe)

Variávels finais após ajuste sazonal

Descritivas

Capital_trabalho Swap PIB Cambio IPCA
Observações 266.0000 266.0000 266.0000 266.0000 266.0000
Mínimo -8.1395 6.5400 -1374.1734 -11.6869 1.6456
1o quartil 44.8218 10.7125 -12.1594 -1.9531 4.8092
Média 55.7700 13.9905 257.2653 0.1353 6.8280
Mediana 51.2403 13.1600 256.1773 -0.1574 6.2707
3o quartil 63.6885 17.3900 580.3923 1.4423 7.6704
Máximo 151.0014 27.4900 1236.6463 21.6674 21.9876
Desv. Pad. 19.0722 4.7089 463.0483 3.8780 3.4314

Estimating the BVAR

IRF

Impactos dos choques monetários

Em todas variáveis do modelo, no último período

Na razão capital trabalho porém em períodos de mudança no Banco Central.

Os presidentes do BCB no período analisado foram:

  • Arminio Fraga Neto - 4/3/1999 a 1/1/2003
  • Henrique de Campos Meirelles - 1/1/2003 a 1/1/2011 \(t=37\)
  • Alexandre Antonio Tombini - 1/1/2011 a 8/6/2016 \(t=133\)
  • Ilan Goldfajn - 9/6/2016 - atual \(t=198\)

Supondo que existe algum tipo de coordenação entre política fiscal e monetária, peguei os Ministros da Fazenda no Período também:

  • Pedro Malan - 01/01/1995 a 01/01/2003
  • Antonio Palocci Filho - 01/01/2003 a 27/03/2006 \(t=37\)
  • Guido Mantega - 27/03/2006 a 01/01/2015 \(t=75\)
  • Joaquim Levy - 01/01/2015 a 18/12/2015 \(t=183\)
  • Nelson Barbosa - 18/12/2015 a 12/05/2016 \(t=192\)
  • Henrique Meirelles - 12/05/2016 a 10/04/2018 \(t=197\)
  • Eduardo Guardia - 10/04/2018 - atual

Na taxa de variação do PIB

Na taxa de variação do índice da taxa de câmbio real efetiva

No IPCA

Impacto dos choques do PIB

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques da taxa de variação do índice da taxa de câmbio real efetiva

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Impacto dos choques do IPCA

Em todas variáveis do modelo, no último período

Na razão capital-trabalho, em períodos selecionados

Avaliando os parâmetros

Os gráficos abaixo contém os betas (esq) e volatilidade (dir) ao longo do tempo, com o 16o e o 68o percentis (como foi feito no artigo do Primiceri).

Razão Capital-Trabalho

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - esquerda - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza):

Swap

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

PIB

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Taxa de Câmbio

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

IPCA

Coeficiente (da própria variável defasada) e desvio padrão do resíduo, usando a média e os quantis 16 e 84 (os mesmos do primiceri) - primeira coluna - e mesmo gráfico, porém com o intervalo entre o 5 e 95 (área azul) quantis e 25 e 75 quantis (área cinza) - segunda coluna. Também coloquei um gráfico do coeficiente com a escala vertical incluindo o zero - terceira coluna - para dar comparabilidade:

Plotando as variáveis todas juntas

Primeiro, plotando os gráficos com o intervalo do 16o ao 84o quantil (como feito no Primiceri e como eu fiz no trabalho de Macro2:

Mas o que acontece se incluímos o zero no eixo vertical dos coeficientes?

Agora vamos repetir gráfico mas fazendo as bandas do quantil 5 a 95 (em azul) e 25 a 75 (em cinza) - sem forçar o zero no eixo dos coeficientes:

Gráfico dos coeficientes das outras variáveis defasadas na equação da razão capital-trabalho

Primeiro os gráficos com os intervalos de 16 a 84% sem forçar o zero no eixo y:

Agora o mesmo gráfico mas forçando o zero a aparecer:

E o mesmo gráfico mas com os quantis de 5 a 95 e 25 a 75:

Repete o mesmo de antes, mas incluindo zero no eixo y: